/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package pe.isil.sco.proyecto.dao.jdbc;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.ArrayList;
import javax.sql.DataSource;
import pe.isil.sco.proyecto.bean.Categoria;
import pe.isil.sco.proyecto.bean.Cupon;
import pe.isil.sco.proyecto.dao.CategoriaDAO;
import pe.isil.sco.proyecto.dao.CuponDAO;
import pe.isil.sco.proyecto.util.Conexion;

/**
 *
 * @author CASA
 */
public class CuponJDBC implements CuponDAO {

    Connection conn = null;

    @Override
    public ArrayList<Cupon> getListCupones() {
        ArrayList<Cupon> listCupon = null;
        //Connection cn = null;
        try {
            Conexion conexion = Conexion.getInstance();
            DataSource ds = conexion.getDataSource();
            conn = ds.getConnection();
            String query = "SELECT * FROM cupon";
            Statement stm = conn.createStatement();
            ResultSet rs = stm.executeQuery(query);
            listCupon = new ArrayList<Cupon>();

            while (rs.next()) {
                Cupon c = new Cupon();
                c.setIdCupon(rs.getInt("idCupon"));
                c.setIdCategoria(rs.getInt("idCategoria"));
                c.setContCompra(rs.getInt("contCompra"));
                c.setDescuento(rs.getInt("descuento"));
                c.setDsCupon(rs.getString("dsCupon"));
                c.setEstado(rs.getInt("estado"));
                c.setFechaFin(rs.getDate("fechaFin"));
                c.setFechaInicio(rs.getDate("fechaInicio"));
                c.setIdProveedor(rs.getInt("idProveedor"));
                c.setPrecioReal(rs.getDouble("precioReal"));
                c.setTitulo(rs.getString("titulo"));
                c.setUrlImagen(rs.getString("urlImagen"));
                listCupon.add(c);
            }
            stm.close();
            conn.close();
            return listCupon;
        } catch (Exception e) {
            System.out.println("ERROR:-------> " + e.getMessage());
        }
        return listCupon;
    }

    @Override
    public ArrayList<Cupon> getListCuponesCategoria(Integer idCategoria) {
        ArrayList<Cupon> listCupon = null;
        //Connection cn = null;
        try {
            Conexion conexion = Conexion.getInstance();
            DataSource ds = conexion.getDataSource();
            conn = ds.getConnection();
            String query = "SELECT * FROM cupon where idCategoria = " + idCategoria;
            Statement stm = conn.createStatement();
            ResultSet rs = stm.executeQuery(query);
            listCupon = new ArrayList<Cupon>();

            while (rs.next()) {
                Cupon c = new Cupon();
                c.setIdCupon(rs.getInt("idCupon"));
                c.setIdCategoria(rs.getInt("idCategoria"));
                c.setContCompra(rs.getInt("contCompra"));
                c.setDescuento(rs.getInt("descuento"));
                c.setDsCupon(rs.getString("dsCupon"));
                c.setEstado(rs.getInt("estado"));
                c.setFechaFin(rs.getDate("fechaFin"));
                c.setFechaInicio(rs.getDate("fechaInicio"));
                c.setIdProveedor(rs.getInt("idProveedor"));
                c.setPrecioReal(rs.getDouble("precioReal"));
                c.setTitulo(rs.getString("titulo"));
                c.setUrlImagen(rs.getString("urlImagen"));
                listCupon.add(c);
            }
            stm.close();
            conn.close();
            return listCupon;
        } catch (Exception e) {
            System.out.println("ERROR:-------> " + e.getMessage());
        }
        return listCupon;
    }

    @Override
    public Cupon getCupon(Integer idCupon) {
        Cupon objCupon = null;
        //Connection cn = null;
        try {
            Conexion conexion = Conexion.getInstance();
            DataSource ds = conexion.getDataSource();
            conn = ds.getConnection();
            String query = "SELECT * FROM cupon where idCupon = " + idCupon;
            Statement stm = conn.createStatement();
            ResultSet rs = stm.executeQuery(query);

            while (rs.next()) {
                objCupon = new Cupon();
                objCupon.setIdCupon(rs.getInt("idCupon"));
                objCupon.setIdCategoria(rs.getInt("idCategoria"));
                objCupon.setContCompra(rs.getInt("contCompra"));
                objCupon.setDescuento(rs.getInt("descuento"));
                objCupon.setDsCupon(rs.getString("dsCupon"));
                objCupon.setEstado(rs.getInt("estado"));
                objCupon.setFechaFin(rs.getDate("fechaFin"));
                objCupon.setFechaInicio(rs.getDate("fechaInicio"));
                objCupon.setIdProveedor(rs.getInt("idProveedor"));
                objCupon.setPrecioReal(rs.getDouble("precioReal"));
                objCupon.setTitulo(rs.getString("titulo"));
                objCupon.setUrlImagen(rs.getString("urlImagen"));
            }
            stm.close();
            conn.close();
            return objCupon;
        } catch (Exception e) {
            System.out.println("ERROR:-------> " + e.getMessage());
        }
        return objCupon;
    }
 
   
    
}
